home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Panorama
/
Panorama - Disk 19D (1987-07-22)(Pacific North-West Amigas Club)[WB].zip
/
Panorama - Disk 19D (1987-07-22)(Pacific North-West Amigas Club)[WB].adf
/
HackBench
/
hb.h
< prev
next >
Wrap
C/C++ Source or Header
|
1987-07-14
|
3KB
|
111 lines
/****************************************************************
/* *
/* HackBench - Part 1 of 4 - hb.h - Definitions *
/* *
/* Copyright (C) 1987 by Bill Kinnersley *
/* CS Dept, Washington State Univ, Pullman, WA 99164 *
/* *
/* Permission granted to redistribute this program *
/* provided the copyright notice remains intact. *
/* May not be used as part of any commercial product. *
/* *
/****************************************************************/
#include <stdio.h>
#include <exec/memory.h>
#include <exec/alerts.h>
#include <workbench/workbench.h>
#include <workbench/startup.h>
#include <intuition/intuitionbase.h>
#include <libraries/dosextens.h>
#include <functions.h>
#include <clib/macros.h>
#define BLACK_FILL (ITEMTEXT | HIGHCOMP)
#define MN(m,i) ((long)(SHIFTMENU(m)|SHIFTITEM(i)|SHIFTSUB(0x1f)) & 0xffffL)
#define MEMF_CPC (MEMF_CHIP | MEMF_PUBLIC | MEMF_CLEAR)
#define ALLOC(st) (struct st *)AllocMem((long)sizeof(struct st), MEMF_CPC)
#define SHIFT (IEQUALIFIER_LSHIFT | IEQUALIFIER_RSHIFT)
#define OBJ(nd,of) ((struct MyWBObject *)((long)(nd)-of*sizeof(struct Node)))
struct MyDrawerData {
struct NewWindow dd_NewWindow;
LONG dd_CurrentX, dd_CurrentY, dd_MinX, dd_MinY, dd_MaxX, dd_MaxY;
struct Gadget dd_HorizScroll, dd_VertScroll,
dd_UpMove, dd_DownMove, dd_LeftMove, dd_RightMove;
struct Image dd_HorizImage, dd_VertImage;
struct PropInfo dd_HorizProp, dd_VertProp;
struct Window *dd_DrawerWin;
struct List dd_Children; /* Must be initialized */
BPTR dd_Lock;
};
struct MyWBObject {
struct Node wo_MasterNode, wo_Siblings,
wo_SelectNode, wo_UtilityNode;
struct MyWBObject *wo_Parent;
UBYTE wo_Flags;
char *wo_Name;
SHORT wo_NameXOffset, wo_NameYOffset;
struct FreeList wo_FreeList; /* Must be initialized */
struct Window *wo_IconWin;
BPTR wo_Lock;
struct Gadget wo_Gadget;
UBYTE wo_Type;
char *wo_DefaultTool, **wo_ToolTypes;
LONG wo_CurrentX, wo_CurrentY;
struct MyDrawerData *wo_DrawerData;
char *wo_ToolWindow;
LONG wo_StackSize;
};
/* Gadget ID's */
#define GID_WBOBJECT 0L
#define GID_HORIZSCROLL 1L
#define GID_VERTSCROLL 2L
#define GID_LEFTSCROLL 3L
#define GID_RIGHTSCROLL 4L
#define GID_UPSCROLL 5L
#define GID_DOWNSCROLL 6L
#define GID_NAME 7L
/* Menu Items */
#define OPEN MN(0,0)
#define CLOZE MN(0,1)
#define DUP MN(0,2)
#define RENAME MN(0,3)
#define INFO MN(0,4)
#define DISCARD MN(0,5)
#define EMPTY MN(1,0)
#define INIT MN(1,1)
#define CLEANUP MN(2,0)
#define ERROR MN(2,1)
#define REDRAW MN(2,2)
#define SNAP MN(2,3)
#define VERS MN(2,4)
#define TRACE MN(3,0)
#define WBOBJS MN(3,1)
#define SELOBJS MN(3,2)
#define UTILOBJS MN(3,3)
#define CHILDREN MN(3,4)
#define QUIT MN(3,5)
/* Offsets for Object Lists */
#define MAST 0L
#define CHILD 1L
#define SEL 2L
#define UTIL 3L
/* Object Flags */
#define NORM 0
#define HIGH 1
#define RESIZE 2
#define TEMPLOCK 4
/* Window top border */
#define YOFF 10L